The ribosome is an extremely important molecular organelle for the cellular workings. It is of interest to a wide array of scientists with spanning interests from the fundamental questions of life and individuality to the practical fields of medicine development and pharmacology. Here we present network analysis on interactions between the ribosomal constituents – ribosomal RNA (rRNA) and ribosomal proteins (rProteins) in the context of the accretion model for ribosomal evolution [1]. We demonstrate that different evolutionary phases give deferring network statistics from one another, furthermore the ribosomal networks’characteristics are a result of their degree distributions when considering the ribosome as whole evolving entity. We also show that community detection algorithms can be used to define rRNA and rProtein folding domains, and show the interdependence between rRNA and rProtein interactions.

Image('./figs/Figure_1_A+B_rRNA+rProtein_Evolution-01.jpg')
Image('./figs/RING_energy_dist.png')
plot_nodes(EsCo_nodes)
louvain5, lv5_df = plot_louvain(5, G_EsCo, make_plot=True)
Resolution: 5 Number of partitions: 74 Modularity: 0.7958522770514428
prtn_mod_res_df, nodes_prtn_df = make_prtn_mod_res_df(resolution, G_EsCo)
# Create traces
trace0 = go.Scatter(
x = prtn_mod_res_df['Resolution'],
y = prtn_mod_res_df['Num_Partitions'],
mode = 'lines',
name = 'Partitions'
)
trace1 = go.Scatter(
x = prtn_mod_res_df['Resolution'],
y = prtn_mod_res_df['Modularity'],
mode = 'lines',
name = 'Modularity',
yaxis='y2'
)
layout = go.Layout(
title='Modularity and Parition Number vs. Louvain Resoution',
xaxis=dict(
title='Louvain Resolution'
),
yaxis=dict(
title='Number of Partitions'
),
yaxis2=dict(
title='Modularity',
titlefont=dict(
color='rgb(148, 103, 189)'
),
tickfont=dict(
color='rgb(148, 103, 189)'
),
overlaying='y',
side='right'
)
)
data = [trace0, trace1]
fig = go.Figure(data=data, layout=layout)
iplot(fig)
nodes_prtn_df
| node | louvain1.0 | louvain1.5 | louvain2.0 | louvain2.5 | louvain3.0 | louvain3.5 | louvain4.0 | louvain4.5 | louvain5.0 | louvain5.5 | louvain6.0 | louvain6.5 | louvain7.0 | louvain7.5 | louvain8.0 | louvain8.5 | louvain9.0 | louvain9.5 | louvain10.0 | louvain10.5 | louvain11.0 | louvain11.5 | louvain12.0 | louvain12.5 | louvain13.0 | louvain13.5 | louvain14.0 | louvain14.5 | louvain15.0 | louvain15.5 | louvain16.0 | louvain16.5 | louvain17.0 | louvain17.5 | louvain18.0 | louvain18.5 | louvain19.0 | louvain19.5 | louvain20.0 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | n0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | n1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2 | n10 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 3 | n100 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| 4 | n1000 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 10556 | n9995 | 17 | 4 | 14 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| 10557 | n9996 | 17 | 4 | 14 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| 10558 | n9997 | 17 | 4 | 14 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| 10559 | n9998 | 17 | 4 | 14 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| 10560 | n9999 | 17 | 4 | 14 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
10561 rows × 40 columns
plot_nodes_partitions(lv10_df[lv10_df.Object == 'uL02'])
plot_nodes(SaCe_rPro_nodes)
# Create traces
trace0 = go.Scatter(
x = prtn_mod_res_df['Resolution'],
y = prtn_mod_res_df['Num_Partitions'],
mode = 'lines',
name = 'Partitions'
)
trace1 = go.Scatter(
x = prtn_mod_res_df['Resolution'],
y = prtn_mod_res_df['Modularity'],
mode = 'lines',
name = 'Modularity',
yaxis='y2'
)
layout = go.Layout(
title='Modularity and Parition Number vs. Louvain Resoution',
xaxis=dict(
title='Louvain Resolution'
),
yaxis=dict(
title='Number of Partitions'
),
yaxis2=dict(
title='Modularity',
titlefont=dict(
color='rgb(148, 103, 189)'
),
tickfont=dict(
color='rgb(148, 103, 189)'
),
overlaying='y',
side='right'
)
)
data = [trace0, trace1]
fig = go.Figure(data=data, layout=layout)
iplot(fig)
louvain4, df = plot_louvain(4, G_SaCe_rPro)
Resolution: 4 Number of partitions: 151 Modularity: 0.8093295900148612
plot_nodes_partitions(df[df.rProtein == 'uL02'], lines=True)
walktrap2 = walktrap_output(2)
walktrap4 = walktrap_output(4)
walktrap6 = walktrap_output(6)
walktrap8 = walktrap_output(8)
walktrap10 = walktrap_output(10)
walktrap100 = walktrap_output(100)
Walktrap steps: 2 Optimal count: 7293 Modularity: 0.10447832211050502 Walktrap steps: 4 Optimal count: 7293 Modularity: 0.10447832211050502 Walktrap steps: 6 Optimal count: 7293 Modularity: 0.10447832211050502 Walktrap steps: 8 Optimal count: 7293 Modularity: 0.10447832211050502 Walktrap steps: 10 Optimal count: 7293 Modularity: 0.10447832211050502 Walktrap steps: 100 Optimal count: 7293 Modularity: 0.10447832211050502
p1 = Image('./shortest_path/adjlist_ph1.txt.png', width=400)
p2 = Image('./shortest_path/adjlist_ph2.txt.png', width=400)
p3 = Image('./shortest_path/adjlist_ph3.txt.png', width=400)
p4 = Image('./shortest_path/adjlist_ph4.txt.png', width=400)
p5 = Image('./shortest_path/adjlist_ph5.txt.png', width=400)
p6 = Image('./shortest_path/adjlist_ph6.txt.png', width=400)
display(p1,p2,p3,p4,p5,p6)
p1 = Image('./shortest_path/conc_adjlist_ph1.txt.png', width=400)
p2 = Image('./shortest_path/conc_adjlist_ph2.txt.png', width=400)
p3 = Image('./shortest_path/conc_adjlist_ph3.txt.png', width=400)
p4 = Image('./shortest_path/conc_adjlist_ph4.txt.png', width=400)
p5 = Image('./shortest_path/conc_adjlist_ph5.txt.png', width=400)
p6 = Image('./shortest_path/conc_adjlist_ph6.txt.png', width=400)
display(p1,p2,p3,p4,p5,p6)